A Flexible, Configurable Research Agent
Deep Research as an Agent Application
We've built an open deep researcher that is simple and configurable, allowing users to bring their own models, search tools, and MCP servers.
Research as an Open-Ended Task
Research is an open-ended task; the best strategy to answer a user request can't be easily known in advance.
Comparisons benefit from searching each product, followed by synthesis.
Listing/ranking requires open-ended search, synthesis, and ranking.
Validation questions require iterative deep research where source quality matters more than breadth.
Key Design Principle: Flexibility to explore different research strategies depending on the request.
Three-Step Research Process
Agents are well suited to research because they can flexibly apply different strategies, using intermediate results to guide exploration.
Gather User Context for Research
Users rarely provide sufficient context in a research request. We use a chat model to ask for additional context if necessary.
We translate the verbose chat interaction into a comprehensive, yet focused research brief that serves as our north star for success.
Gather Context Using a Supervisor Agent
The supervisor delegates research tasks to an appropriate number of sub-agents. It determines if the research brief can be broken down into independent sub-topics and delegates to sub-agents with isolated context windows.
Each sub-agent focuses on a specific topic and conducts research as a tool-calling loop, using search tools and/or MCP tools configured by the user.
Produce the Final Report
The goal of report writing is to fulfill the request in the research brief using the gathered context from sub-agents.
When the supervisor deems that the gathered findings are sufficient to address the request in the research brief, we move ahead to write the report.
To write the report, we provide an LLM with the research brief and all of the research findings returned by sub-agents. This final LLM call produces an output in one-shot, steered by the brief and answered with the research findings.
Multi-Agent Considerations
Multi vs. single-agent is an important design consideration. Cognition has argued against multi-agent because sub-agents working in parallel can be difficult to coordinate.
Earlier versions of our research agent wrote sections of the final report in parallel with sub-agents. It was fast, but the reports were disjoint because the section-writing agents were not well coordinated.
Context Isolation Benefits
Single agent response quality suffers if the request has multiple sub-topics. The intuition is straightforward: a single context window needs to store and reason about tool feedback across all sub-topics.
Our single agent implementation used its search tool to send separate queries about each frontier lab at the same time, but had to juggle context from three independent threads.
Supervisor Flexibility
Users do not want simple requests to take 10+ minutes. But, there are some requests that require research with higher token utilization and latency.
The supervisor can handle both cases by selectively spawning sub-agents to tune the level of research depth needed for a request. The supervisor is prompted with heuristics to reason about when research should be parallelized, and when a single thread of research is sufficient.
Context Engineering
Research is a token-heavy task. Anthropic reported that their multi-agent system used 15x more tokens than a typical chat application!
We used context engineering to mitigate this:
Without sufficient context engineering, our agent was prone to running into context window limits from long, raw tool-call results.
Future Improvements
Open deep research is a living project and we have several ideas we want to try. These are some of the open questions that we're thinking about:
Get Started Today
You can clone our LangGraph code and run Open Deep Research locally with LangGraph Studio.
You can use Studio to test out the prompts and architecture and tailor them more specifically to your use cases!
We've hosted Open Deep Research on our demo instance of Open Agent Platform (OAP).
OAP is a citizen developer platform, allowing users to build, prototype, and use agents - all you need to do is pass in your API keys.